package pruebas;

import negModel.*;
import junit.framework.TestCase;

public class ListaPistasTest extends TestCase {

	ListaPistas listaPistas;
	Pista pista1,pista2,pista3,pista4,pista5,pista6,pista7,pista8,
		  pista9,pista10,pista11,pista12,pista13,pista14,pista15,
		  pista16,pista17,pista18;
	
	protected void setUp() throws Exception {
		super.setUp();
		
		pista1 = new Pista(new Superficie(1,"Asfalto"),400,new Clima(0.1,"Soleado"));
		pista2 = new Pista(new Superficie(1,"Asfalto"),400,new Clima(1,"Nublado"));
		pista3 = new Pista(new Superficie(1,"Asfalto"),400,new Clima(2,"Lluvioso"));
		pista4 = new Pista(new Superficie(1,"Asfalto"),800,new Clima(0.1,"Soleado"));
		pista5 = new Pista(new Superficie(1,"Asfalto"),800,new Clima(1,"Nublado"));
		pista6 = new Pista(new Superficie(1,"Asfalto"),800,new Clima(2,"Lluvioso"));
		
		pista7 = new Pista(new Superficie(2,"Tierra"),400,new Clima(0.1,"Soleado"));
		pista8 = new Pista(new Superficie(2,"Tierra"),400,new Clima(1,"Nublado"));
		pista9 = new Pista(new Superficie(2,"Tierra"),400,new Clima(2,"Lluvioso"));
		pista10= new Pista(new Superficie(2,"Tierra"),800,new Clima(0.1,"Soleado"));
		pista11= new Pista(new Superficie(2,"Tierra"),800,new Clima(1,"Nublado"));
		pista12= new Pista(new Superficie(2,"Tierra"),800,new Clima(2,"Lluvioso"));
		
		pista13= new Pista(new Superficie(3,"Hielo"),400,new Clima(0.1,"Soleado"));
		pista14= new Pista(new Superficie(3,"Hielo"),400,new Clima(2,"Nublado"));
		pista15= new Pista(new Superficie(3,"Hielo"),400,new Clima(2.5,"Lluvioso"));
		pista16= new Pista(new Superficie(3,"Hielo"),800,new Clima(0.1,"Soleado"));
		pista17= new Pista(new Superficie(3,"Hielo"),800,new Clima(2,"Nublado"));
		pista18= new Pista(new Superficie(3,"Hielo"),800,new Clima(2.5,"Lluvioso"));
		
		listaPistas = new ListaPistas();
		
		listaPistas.add(pista1);
		listaPistas.add(pista2);
		listaPistas.add(pista3);
		listaPistas.add(pista4);
		listaPistas.add(pista5);
		listaPistas.add(pista6);
		listaPistas.add(pista7);
		listaPistas.add(pista8);
		listaPistas.add(pista9);
		listaPistas.add(pista10);
		listaPistas.add(pista11);
		listaPistas.add(pista12);
		listaPistas.add(pista13);
		listaPistas.add(pista14);
		listaPistas.add(pista15);
		listaPistas.add(pista16);
		listaPistas.add(pista17);
		listaPistas.add(pista18);
		
	}

	public void testGuardar() throws Exception {
		ListaPistas.guardar("ListaPistas.xml", listaPistas);
	}

	public void testCargar() throws Exception {
		ListaPistas lpaux = ListaPistas.cargar("ListaPistas.xml");
		
		assertEquals(pista1.getCoeficiente(),((Pista)lpaux.get(0)).getCoeficiente(),0);
		assertEquals(pista2.getCoeficiente(),((Pista)lpaux.get(1)).getCoeficiente(),0);
		assertEquals(pista3.getCoeficiente(),((Pista)lpaux.get(2)).getCoeficiente(),0);
		assertEquals(pista4.getCoeficiente(),((Pista)lpaux.get(3)).getCoeficiente(),0);
		assertEquals(pista5.getCoeficiente(),((Pista)lpaux.get(4)).getCoeficiente(),0);
		assertEquals(pista6.getCoeficiente(),((Pista)lpaux.get(5)).getCoeficiente(),0);
		assertEquals(pista7.getCoeficiente(),((Pista)lpaux.get(6)).getCoeficiente(),0);
		assertEquals(pista8.getCoeficiente(),((Pista)lpaux.get(7)).getCoeficiente(),0);
		assertEquals(pista9.getCoeficiente(),((Pista)lpaux.get(8)).getCoeficiente(),0);
		assertEquals(pista10.getCoeficiente(),((Pista)lpaux.get(9)).getCoeficiente(),0);
		assertEquals(pista11.getCoeficiente(),((Pista)lpaux.get(10)).getCoeficiente(),0);
		assertEquals(pista12.getCoeficiente(),((Pista)lpaux.get(11)).getCoeficiente(),0);
		assertEquals(pista13.getCoeficiente(),((Pista)lpaux.get(12)).getCoeficiente(),0);
		
	}

}
